package com.goldgov.distancelearning.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.goldgov.distancelearning.service.Distancelearning;
import com.goldgov.distancelearning.service.DistancelearningUser;
import com.goldgov.distancelearning.service.DistancelearningUserQuery;
@Mapper
public interface DistancelearningUserDao {
	
	/**
	 * 预新增
	 * @date 2018年6月21日 下午4:02:06 
	 * @author hanxiangyu
	 * @return
	 */
	DistancelearningUser preAdd();
	/**
	 * 新增会议记录
	 * @date 2018年6月21日 下午3:22:14 
	 * @author hanxiangyu
	 * @param distancelearningUser
	 * @return
	 */
	int addDistancelearningUser(List<DistancelearningUser> distancelearningUser);
	/**
	 * 获取出席人列表
	 * @date 2018年6月21日 下午6:10:53 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<DistancelearningUser> getDistancelearningUserList(@Param("query") DistancelearningUserQuery query);

	/**
	 * 获取已存在人的ids
	 * @date 2018年6月21日 下午6:37:16 
	 * @author hanxiangyu
	 * @param distancelearningID
	 * @return
	 */
	List<String> getJoinUserIDs(@Param("distancelearningID") String distancelearningID);
	/**
	 * 获取已存在的数据
	 * @date 2018年6月21日 下午7:30:59 
	 * @author hanxiangyu
	 * @param distancelearning
	 * @return
	 */
	List<DistancelearningUser> getExistJoinUserList(Distancelearning distancelearning);
	/**
	 * 删除人员存在人员之外的其他人
	 * @date 2018年6月22日 上午9:25:47 
	 * @author hanxiangyu
	 * @param distancelearningUser
	 * @return
	 */
	int deleteJoinUser(DistancelearningUser distancelearningUser);
	/**
	 * 回执操作
	 * @date 2018年6月23日 上午9:58:25 
	 * @author hanxiangyu
	 * @param distancelearningUser
	 * @return
	 */
	int disReceipt(DistancelearningUser distancelearningUser);
	/**
	 * 获取出席人list
	 * @date 2018年6月29日 下午3:04:46 
	 * @author hanxiangyu
	 * @param distancelearningID
	 * @return
	 */
	List<DistancelearningUser> getHeadList(@Param("distancelearningID")String distancelearningID);
	/**
	 * 获取请假人员list
	 * @date 2018年6月29日 下午3:05:18 
	 * @author hanxiangyu
	 * @param distancelearningID
	 * @return
	 */
	List<DistancelearningUser> getLeaveList(@Param("distancelearningID")String distancelearningID);
	/**
	 * 获取考勤人员list
	 * @date 2018年6月29日 下午3:05:37 
	 * @author hanxiangyu
	 * @param distancelearningID
	 * @return
	 */
	List<DistancelearningUser> getSingList(@Param("distancelearningID")String distancelearningID);
	/**
	 * 获取未考勤人员list
	 * @date 2018年6月29日 下午3:06:14 
	 * @author hanxiangyu
	 * @param distancelearningID
	 * @return
	 */
	List<DistancelearningUser> getDefaultList(@Param("distancelearningID")String distancelearningID);
	
	List<DistancelearningUser> getUserList(String distancelearningID);
	/**
	 * 查询会议下是否存在党员
	 * @date 2018年11月15日 上午10:27:01 
	 * @author hanxiangyu
	 * @param distancelearningUser
	 * @return
	 */
	List<DistancelearningUser> getJoinUserByUserIds(DistancelearningUser distancelearningUser);
	
	
	
	
	
}
